package com.lry.sso.common.exception;

import com.lry.sso.common.entity.BaseEnum;

/**
 * 单点登录异常（错误）枚举对象
 *
 * @author 李瑞益
 * @date 2019/11/16
 */
@SuppressWarnings("all")
public enum SysErrorEnum implements BaseEnum {

    /*
    划分异常等级
    分两种处理
    两种异常又衍生出多种异常
    */
    SYSTEM("1","系统级异常"),

    BUSINESS("2","业务级异常"),

    //------------系统级异常---------
    /*
    * 分：网络、文件（io）、系统（脚本）、ftp、等
    * 位数：系统编码1位+衍生编码5位 共6为
    **/
    //网络
    SYS_NETWORK_INIT_CONN("100001", "网络初始化连接错误"),
    SYS_NETWORK_TIMEOUT("100002", "网络通讯超时"),
    SYS_NETWORK_LOST_CONN("100003", "连接丢失"),
    SYS_NETWORK_ADDR_NOTFOUND("100004", "获取系统网络地址失败"),
    SYS_NETWORK_HTTP("100005", "HTTP调用异常"),

    //文件
    SYS_FILE_PATH_NOT_FIND("1000011", "文件目录不存在"),
    SYS_FILE_FILE_NOT_FIND("1000012", "文件不存在"),
    SYS_FILE_UNZIP("1000013", "解压文件异常"),
    SYS_FILE_NEW_FILE("1000014", "创建文件异常"),

    //------------业务级异常---------
    //参数、数据库操作、日期、xml、json、
    BUS_INPUT_PARAM("200001","参数异常"),
    BUS_DATA_BASE("200002","数据库操作异常"),

    BUS_DATE_FORMAT("200011", "日期格式化异常"),
    BUS_DATE_PARSER("200012", "日期转换异常"),

    BUS_XML("200021","xml转换异常"),
    BUS_JSON("200022","json转换异常");

    private String code;

    private String message;

    SysErrorEnum(String code, String message) {
        this.code = code;
        this.message = message;
    }

    @Override
    public String code() {
        return this.code;
    }

    @Override
    public String message() {
        return this.message;
    }
}
